The invention relates generally to master and slave communications systems, and more particularly to a technique for exchanging data between a master system and multiple slave systems.
Master and slave communications systems exist in many forms. FIG. 1 is a depiction of an exemplary master and slave communications system 10 that has a main controller 12 acting as the master system and various peripherals 16, 18, and 20 acting as the slave systems. The peripherals are remote to the main controller, but are connected to the main controller via a remote node 14. The node 14 is located at the same site 21 as the peripherals, and functions to minimize the number of connections that are required between the main controller and the peripherals. The connection 22 between the main controller and the remote node can be through a direct cable connection or the connection can be made through a network such as an intranet or the Internet. An application for the master and slave communications system as shown in FIG. 1 is a campus communications system having a main PBX that handles many of the communications functions of the campus and having remote nodes that support the operation of devices such as telephones, fax machines, printers and computers.
FIG. 2 is an expanded view of a remote node 24 that is connected to a main PBX 26 as described with reference to FIG. 1. The remote node includes three line shelves 28, 30, and 32, with each line shelf having the capacity to support sixteen line cards 34, 36, 38, and 40. The line cards in FIG. 2 represent the peripherals 16, 18, and 20 in FIG. 1. The line cards typically have the ability to support up to twenty-four terminal devices (i.e., telephone, fax, printer, computer, etc.). In the system of FIG. 2, the main PBX is the master system and the line cards are the slave systems.
At the data link layer, or layer 2, of the open systems interconnection (OSI) model, the main PBX 26 and the line cards 34-36 communicate with each other using protocols such as binary synchronous control (BSC), synchronous data link control (SDLC), or high-level data link control (HDLC). The data link layer protocols are intended to ensure error-free and reliable point-to-point transmissions of data. When errors do occur in the transmission of data, the data link layer protocols initiate the retransmission and/or correction of the errors.
In systems such as the one shown in FIG. 2, the main PBX 26 is continuously exchanging frames of data with the line cards 34-40 (peripherals). The exchange of data may include determining the status of the line cards or exchanging data such as real-time voice conversations, e-mail messages, voice mail messages, FAX data, printer data, etc. For example, the main PBX may signal the line cards to determine if the line cards can receive data or if the line cards need to send data to the main PBX. In another example, the main PBX may transfer printer data to a line card that will be used by an attached printer to generate a document. Referring specifically to line shelf one 28, frames of data are continuously being sent back and forth between the main PBX and the sixteen line cards. The frames are exchanged in a sequential manner, and before the main PBX can exchange frames with the next line card, the main PBX must wait to receive a response from the current line card.
FIG. 3 is an example of an exchange of frames that takes place according to HDLC protocol between the main PBX 26 and the sixteen line cards 34-40 shown in FIG. 2. A polling frame (POLL) 46 is first transmitted from the main PBX to line card one, and in response a receive ready (RR), or acknowledgment, frame 48 is transmitted from line card one to the main PBX. Next, a polling frame 50 is transmitted from the main PBX to line card two 36 and an information frame (I-Fr) 52 is transmitted back to the main PBX in response. The main PBX responds to the information frame with a receive ready frame 54 to complete the transmission. Next, the main PBX transmits an information frame 56 to line card three and a receive ready frame 58 is transmitted back to the main PBX in response. Shown as an example, if a polling frame 60 receives no response because a line card is removed or malfunctioning, a time-out 62 may be triggered after a time-out period (e.g., 2 ms) has expired. The sequential exchange of frames continues through all sixteen line cards to complete one exchange cycle. Possible transaction times are shown on the time-line at the left side of the figure. In the example shown, one signaling cycle through a sixteen-card line shelf takes approximately ten milliseconds, as denoted by the right-side time-line.
Because frames of data must be exchanged sequentially and bidirectionally between the main PBX 26 and the line cards 34-40, a minimum of thirty-two transmissions are performed between the main PBX and the remote node 24 in one exchange cycle. The total time required to complete one exchange cycle is at least thirty-two times the time required to transmit one frame from the main PBX to the remote node. The sequential nature of the signaling between the main PBX and the line cards makes the system extremely sensitive to transmission delays that occur between the main PBX and the line cards. When the distance between the main PBX and the line cards is relatively great, the likelihood of transmission delay increases. In delay-sensitive communications systems, such as communications systems carrying real-time voice and/or video data, the main PBX and line cards are required to be relatively close to each other in order to maintain the quality of the transmitted data. However, in many situations it is advantageous to locate remote nodes far from the main PBX such that delay problems become quite likely.
As a result of the need to locate remote nodes at a relatively long distance away from the main PBX, there is still a need for a communications system that can exchange time-critical data between a master system and multiple slave systems in a timely manner, even though the master and slave systems are separated by a communications link that may exhibit significant delay.
A method and a system for improving the exchange of data between a master system and multiple slave systems involve bundling multiple abbreviated messages into a single frame and transmitting the single frame across a long delay communications link. The abbreviated messages do not comply with a given transmission protocol, but the single frame does. At the receiving end, the abbreviated messages are extracted from the single frame to build multiple protocol-compliant frames that are sequentially transmitted across relatively short delay communications links to the individual slave systems. By bundling multiple abbreviated messages into a single frame, the number of frame transmissions required across the long delay communications link is significantly reduced.
In a preferred embodiment, the master and slave communications system includes a main PBX and a remote node that communicate at the data link layer of the OSI model according to the high-level data link control (HDLC) protocol. The main PBX includes a main HDLC controller, while the remote node includes a remote HDLC controller and sixteen line cards on each of three line shelves. The main PBX is preferably connected to the public switched telephone network (PSTN), although this is not critical to the invention.
The main HDLC controller is a subsystem that generates combined-message frames which are transmitted according to HDLC protocol to the remote node. A combined-message frame is formed by combining, or bundling, address-specific messages together into an information field of the combined-message frame. The address-specific messages are generated by the main HDLC controller and, in a preferred embodiment, represent an abbreviated version of the data that is necessary to generate complete address-specific polling, acknowledge and information frames for respective line cards at the remote node. The complete address-specific frames comply with the HDLC frame protocol, while the address-specific messages do not comply with HDLC frame protocol.
The combined-message frames include all of the standard HDLC protocol fields, with the information field containing all of the address-specific messages. In the preferred embodiment, one combined-message frame is embedded with one address-specific message for each of the sixteen line cards on a line shelf. Each address-specific message, representing either a poling, an acknowledge, or an information frame, preferably includes an HDLC address field, a message type field, an unused field, and optional byte count and l-frame data fields. The HDLC address field identifies the HDLC address of the target line card. The type field identifies the type of frame associated with the target line card. As mentioned above, the preferred HDLC frame types include polling frames, acknowledge frames, and information frames. The unused field can be customized for various particular uses. The byte count and l-frame data fields are utilized when user-specific data is to be transmitted.
The remote HDLC controller, located within the remote node, receives combined-message frames from the main PBX and transmits new combined-message frames back to the main PBX in response. In addition to receiving and transmitting combined-message frames, the remote HDLC controller utilizes the received address-specific messages (representing the polling, acknowledge, and information frames) to generate address-specific frames targeted for the line cards and conversely uses address-specific frames from the line cards to generate address-specific messages. To generate an address-specific frame from an address-specific message, the remote HDLC controller examines the HDLC address field of a message to determine the target line card. The remote HDLC controller also examines the type field to determine whether the frame to be transmitted is a polling, acknowledge, or information frame. The remote HDLC controller then creates the flag, address, control, information, and error check fields required for a standard HDLC frame. The process of generating address-specific messages from an address-specific frame is basically the reverse of the above-described process.
Overall operation of the system for performing data link layer communications between the main PBX and the line cards utilizing HDLC protocol involves the main HDLC controller generating a first combined-message frame that includes multiple address-specific messages. The address-specific messages identify which type of HDLC frame (polling, acknowledge, or information) is to be sent to each line card. If an information frame is to be sent, then the specific data is included in the message. The first combined-message frame is transmitted from the main HDLC controller to the remote HDLC controller over the relatively long delay communications link. The remote HDLC controller, within the remote node, receives the first combined-message frame and utilizes the address-specific messages embedded within the combined-message frame to build the address-specific frames for each one of the line cards.
After the remote HDLC controller builds the first address-specific frame for the first line card, the address-specific frame is sent to the first line card over a short delay communications link. A second address-specific frame is returned to the remote HDLC controller from the line card in response to the received HDLC frame. For example, the remote HDLC controller may send an information frame to line card one, and line card one may send an acknowledge frame to the remote HDLC controller in response. The remote HDLC controller then utilizes the returned address-specific frame as a trigger to generate the next address-specific message. After completion of the exchange of polling, acknowledge, or information frames between the remote HDLC controller and the first line card, the process is repeated in a sequential manner for line cards two through sixteen. The sequential exchange of the HDLC-compliant polling, acknowledge and information frames between the remote HDLC controller and sixteen line cards is relatively quick, because of the short delay links between the remote HDLC controller and the line cards. Additionally, there is no processing delay between receiving a response frame from a peripheral and the transmission of the address-specific message.
When the last address-specific frame is received by the remote HDLC controller from the sixteen line cards, the remote HDLC controller generates the last address-specific message. The HDLC controller builds a second combined-message frame by combining all of the address-specific messages for the sixteen line cards into the information field of the second combined-message frame. The second combined-message frame complies with HDLC protocol and is transmitted from the remote node to the main PBX over the long delay communications link, thus completing one exchange cycle. By bundling abbreviated versions of the information that is to be communicated between the main PBX and the line cards into combined-message HDLC frames, the number of frames transmitted over the long delay communications link is minimized and frame transmissions over the short delay communications links are maximized, thus improving overall system performance.